/**
 * @author Grupo 5L - turma1
 */
package Testes;

import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;

import Classes.Usuario;


public class UsuarioTest {

	private Usuario usuario1;
	private Usuario usuario2;
	private Usuario usuario3;
	
	@Before
	public  void  criaUsuario() {
		usuario1 = new Usuario("Adriana");
		usuario2 = new Usuario("Diego");
		usuario3 = new Usuario("Fabiano");
	
	}
	@Test
	public void testaGetNome(){
		Assert.assertEquals("Adriana",usuario1.getNome());
		Assert.assertEquals("Diego",usuario2.getNome());
		Assert.assertEquals("Fabiano",usuario3.getNome());
	}
	

	@Test
	public void testaSetNota(){
		usuario2.adicionaNotas("0");
		usuario2.adicionaNotas("1");
		usuario3.adicionaNotas("4");
		Assert.assertEquals("[0, 1]",usuario2.getNotas().toString());
		Assert.assertEquals("[4]",usuario3.getNotas().toString());
		
		usuario2.setNota(0, "5");
		usuario2.setNota(1, "-5");
		Assert.assertEquals("[5, -5]",usuario2.getNotas().toString());
		
		usuario3.setNota(0, "0");
		Assert.assertEquals("[0]",usuario3.getNotas().toString());
	
	}	
	
	@Test
	public void testaConta(){
		usuario1.conta();
		Assert.assertEquals(1,usuario1.getContador());
		usuario2.conta();
		Assert.assertEquals(2,usuario1.getContador());
		usuario3.conta();
		Assert.assertEquals(3,usuario1.getContador());
	}
	
	@Test
	public void testaGetContador(){
		
		Assert.assertEquals(3,usuario1.getContador());
		Assert.assertEquals(3,usuario1.getContador());
		Assert.assertEquals(3,usuario1.getContador());
	}
	
	@Test
	public void testaAdicionaNota(){
		usuario1.adicionaNotas("5");
		Assert.assertEquals("Nota Errada","[5]",usuario1.getNotas().toString());
		usuario1.adicionaNotas("4");
		Assert.assertEquals("Nota Errada","[5, 4]",usuario1.getNotas().toString());
		usuario1.adicionaNotas("3");
		Assert.assertEquals("Nota Errada","[5, 4, 3]",usuario1.getNotas().toString());
	
	}
	
	@Test
	public void testaGetNotas(){
		usuario1.adicionaNotas("1");
		usuario1.adicionaNotas("2");
		usuario1.adicionaNotas("3");
		Assert.assertEquals("[1, 2, 3]",usuario1.getNotas().toString());

		
	}
	@Test
	public void testaImprimeNotas(){
		usuario1.adicionaNotas("1");
		usuario1.adicionaNotas("2");
		usuario2.adicionaNotas("3");
		usuario3.adicionaNotas("4");
		Assert.assertEquals("1\n2\n", usuario1.imprimeNotas());
		Assert.assertEquals("3\n", usuario2.imprimeNotas());
		Assert.assertEquals("4\n", usuario3.imprimeNotas());
		
	}
}